package crmsystem.com.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class MyConfig implements WebMvcConfigurer {

    //所有的WebMvcConfigurer容器组件注册在这里都会一起起作用
    @Bean
    public WebMvcConfigurer webMvcConfigurer(){
        WebMvcConfigurer configurer = new WebMvcConfigurer() {

//            //配置视图映射
//            @Override
//            public void addViewControllers(ViewControllerRegistry registry) {
//
//                registry.addViewController("/").setViewName("/login");

//            }
//            //注册登录拦截器
//            @Override
//            public void addInterceptors(InterceptorRegistry registry) {

//                registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**")
//                        .excludePathPatterns("/","/crm/login");

//            }

            //跨域
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                // 设置允许跨域的路由
                registry.addMapping("/**")
                        // 设置允许跨域请求的域名
                        .allowedOrigins("*")
                        // 设置允许跨域的请求头
                        .allowedHeaders("*")
                        // 是否允许证书（cookies）
                        .allowCredentials(true)
                        // 设置允许的方法
                        .allowedMethods("*")
                        // 跨域允许时间
                        .maxAge(3600);
            }

        };
        return configurer;
    }
    /**
     * 自定义区域信息解析器
     * @return
     */
    @Bean
    public LocaleResolver localeResolver(){
        return new MyLocaleResolver();
    }
}